package models
import (
	orm  "blog/database"
	"fmt"
)
type User struct {
	ID       int64  `json:"id"`       // 列名为 `id`
	Username string `json:"username"` // 列名为 `username`
	Password string `json:"password"` // 列名为 `password`
}

//列表
func (user *User) Users() (users []User, err error) {
	if err = orm.Db.Find(&users).Error; err != nil {
		return
	}
	return
}

//添加
//添加
func (user User) Insert() (id int64, err error) {
	//添加数据
	result := orm.Db.Create(&user)
	id = user.ID
	if result.Error != nil {
		err = result.Error
		return
	}
	return
}

//删除数据
func (user *User) Destroy(id int64) (Result User, err error) {
	if err = orm.Db.Select([]string{"id"}).First(&user, id).Error; err != nil {
		return
	}
	if err = orm.Db.Delete(&user).Error; err != nil {
		return
	}
	Result = *user
	return
}

//修改
func (user *User) Update(id int64) (updateUser User, err error) {

	orm.Db.Where("id = ?", id).First(&updateUser);
	fmt.Println("updateUser", updateUser.ID, updateUser.Username)
	fmt.Println("用户信息",  user.Username, user.Password,  user.ID)

	//if err = orm.Db.Select([]string{"id", "username"}).First(&updateUser, id).Error; err != nil {
	//	return
	//}
	////参数1:是要修改的数据  参数2:是修改的数据
	if err = orm.Db.Model(&updateUser).Updates(&user).Error; err != nil {
		return
	}
	return
}

